formalmethodswikiaorg-20200214-history
Concurrent systems
Please add information and links relevant to to this page. Alternatively, please contact Jonathan Bowen if you know of relevant online information not included here or would like to maintain information on a particular topic. ---- This document contains some pointers to information on concurrent systems available around the world on the World Wide Web (WWW). indicates new entries. indicates a (subjectively!) recommended link for especially good online information. ---- Electronic repositories * The [news:comp.parallel comp.parallel] newsgroup discusses parallel processing. See also [news:comp.parallel.pvm comp.parallel.pvm] on the PVM distributed computing environment and [news:comp.parallel.mpi comp.parallel.mpi] on the MPI (Message Passing Interface) standard for parallel machines. * Parallel Computing Archive at HENSA/Unix including occam, the transputer, and journal information. * Supercomputing & Parallel Computing information from the Software Engineering Institute, Carnegie-Mellon University, Pittsburgh, USA. * Wang's Bookself on Parallel Computing including searches for "parallel". * A list of Supercomputing and Parallel Computing Research Groups. * Parallel Processing in Engineering Community Club, UK. * [[Occam|'occam']] and the [[Transputer|'transputer']]. * Parallel Tools Consortium including Parallel Tools Projects Around the World. * Distributed/Meta-Computing. * Search for "concurent systems" in a Collection of Computer Science Bibliographies available on the Internet. * Concurrency Group in the Stanford Computer Science Department Theory Division led by Vaughan Pratt. See also papers on foundations of concurrency (second sourced in the UK). * PSP Group (Programs, Specifications and Proofs), University of Texas, Austin, including information on UNITY. * Parallel and distributed computing information including a Distributed Systems Computer Science course by Pradip Srimani, Colorado State University, USA. * PVM (Parallel Virtual Machine). * Parallel Supercomputing, Distributed Computing, Parallel Applications and Parallel Tools and Algorithms in the Theory, Computational Science and Computing (TCSC) programme at Daresbury Laboratory, UK. * Asynchronous Logic Home Page, Manchester, UK. If you are searching for on-line Technical Reports, you may find the Unified Computer Science Technical Report Index helpful. E.g., see a list of Technical Reports concerned with concurrency, concurrent, parallel and distributed systems. See also a list of Computer Science Technical Reports archive sites. Research groups and centers * Centre for Concurrent Systems and VLSI, School of Computing, Information Systems and Mathematics, South Bank University, London, UK. * Concurrent Systems Architecture Group, Department of Computer Science, University of Illinois at Urbana-Champaign, USA. * Concurrent VLSI Architecture (CVA) Group, MIT, USA. * The Linda Group, Yale University, USA: parallel and distributed computing based around the Linda programming language. * Formal methods for high assurance concurrent software from the Experimental Computation Laboratory at the University of Missouri – Rolla, USA. * Distributed Systems research at Digital Systems Research Center. * Parallel and Distributed Computing at the Software Engineering Research Group, Department of Computer Science, Michigan State University, USA. * Large-scale Parallel Software Group, MIT, USA. * Oxford Parallel, set up to stimulate the profitable use of parallel processing within industry and commerce in the UK. See the BSP Library * Edinburgh Parallel Computing Centre. * Northeast Parallel Architectures Center, Syracuse University, USA. * Concurrent and Distributed Systems research group at University of St. Andrews, Scotland. * (TIOS) including [http://wwwtios.cs.utwente.nl/tios/dg/DG.html discipline groups, University of Twente, The Netherlands. ] * Concurrent and Logic Programming, Department of Computer Science, University of Bristol, UK. * Distributed Systems Department, University of Ulm, Germany. * Parallel Applications Centre, University of Southampton, UK. * Parallel, Emergent and Distributed Architecture Laboratory (PEDAL), University of Reading, UK. * MEIJE research team, INRIA and the Ecole des Mines de Paris. Investigates concurrency, synchronisation and reactivity. * Distributed Software Engineering, Imperial College, London, UK. See also LTSA tool. * VASY team, INRIA Grenoble, France. See also CADP tool. Tools, process algebras, etc. Concurrency tools: * CADP, a widespread toolbox for the Construction and Analysis of Distributed Processes. * CWB (Edinburgh Concurrency Workbench) automated toolset. See also the Concurrency Factory and CWB-NC (The Concurrency Workbench of North Carolina), which includes a LOTOS interface, diagnostic infomation, etc. Note: The CWB and CWB-NC have a common ancestor, but are each under separate development. * Concurrency Factory, a "next generation" Concurrency Workbench toolkit. * Circal (CIRcuit CALculus) System supporting a process algebra which may be used to rigorously describe, verify and simulate concurrent systems. See software. * DI2PN tool. Delay Insensitive circuits and Petri Nets. * FDR2 (Failures-Divergence Refinement) for CSP. * LTSA (Labelled Transition System Analyser), a verification tool for concurrent systems. See also associated [http://www-dse.doc.ic.ac.uk/concurrency/ Concurrency: State Models & Java Programs] book by Jeff Magee and Jeff Kramer (published by Wiley, 1999). * Meije tools for the verification of concurrent programs. It contains: ATG, an X-based editor for labelled automata and networks of synchronized automata; Mauto, a tool for computing transition systems from programs in CCS, Basic Lotos, Meije, or Esterel, reducing them along various bisimulations; Hoggar, a batch tool for fast reduction (for strong, weak, and branching bisimulations) of systems described in FC2 format, using either BDDs or explicit representations. * TAPAs (Tool for the Analysis of Process Algebras): TAPAs aim is to support teaching of process algebras. It can be use to specify and analyze concurrent systems. Systems are described as process algebras terms that are then mapped to Labelled Transition Systems (LTSs). Properties can be verified by checking equivalences between concrete and abstract system descriptions, or by model checking temporal formulas over the obtained LTS. A key feature of TAPAs, that makes it particularly suited for teaching, is that it maintains a consistent double representation of each system: both graphical and textual. * VERSA — Verification Execution and Rewrite System for ACSR. Process algebras: * Algebra of Communicating Shared Resources (ACSR) based on CCS from the Real-Time Systems Group , University of Pennsylvania, USA. * CCS (Calculus of Communicating Systems). * CSP (Communicating Sequential Processes). See also FDR tool. * μCRL (micro CRL), process algebraic language for communicating processes with data. * LOTOS (Language Of Temporal Ordering Specification - ISO standard 8807). See also the CADP toolset and the LOTOS NT language supported by this toolset. * Pi-calculus, a calculus for mobile processes. See also [ftp://ftp.cl.cam.ac.uk/users/rm135/ papers by Robin Milner et al.] the Mobility Workbench (see README file) and a BibTeX bibliography. Development methods: * BSP Model (Bulk Synchronous Parallel Computing) and the BSP Library. An approach to portable and predictably-efficient parallel computing by Oxford Parallel. * `pobl', a development method for concurrent (object based) programs. * UNITY, a programming notation and a logic to reason about parallel and distributed programs. * Three disciplines for the design of asynchronous circuits, from the [[#CCSV| Centre for Concurrent Systems and VLSI]. Real-time and reactive systems: * DisCo is specification method for reactive systems including a tool developed at the Tampere University of Technology, Finland. * TLA (Temporal Logic of Actions) has tool support. * TAM. The Temporal Agent Model from the Real-Time Systems Research Group at York University. * TTM/RTTL framework for real-time reactive programs and devices found in embedded, safety-critical, or concurrent systems. Research projects * Concurrency research at the University of Edinburgh, UK. * ESPRIT Basic Research: ACCLAIM (Advanced Concurrent Constraint Languages: Application, Implementation and Methodology), ASMICS 2 (Algebraic and Syntactic Methods in Computer Science), CALIBAN (Causal Calculi Based on Nets), COMPUGRAPH II (Computing by Graph Transformation), CONCUR 2 (Calculi and Algebras of Concurrency: Extensions, Tools and Applications), CHARME-2, COMPASS, NADA, REACT-P (Building Correct Reactive Systems). * CONCUR2, CONFER and LOMAPS research projects by the Formal Design Techniques group, SICS/KTH, Sweden. * Focus: A Design Methodology for Distributed Systems. * Manifold project, CWI, Amsterdam: A coordination language for orchestration of the communications among independent, cooperating processes in a massively parallel or distributed application. * Provably correct hardware/software co-design for concurrent hardware/software systems: EPSRC project, Oxford University, UK. * OMI Highly Optimised Reusable Nucleus (HORN) Project — high-performance parallel computing. * Venari Project at CMU is investigating concurrent and distributed systems amongst other things. * Formal Methods for Software Engineering and Concurrency projects by Edgar Knapp. * ESPRIT APPARC project (Performance Critical Applications of Parallel Architectures). Journals * Computer Systems Science and Engineering, Butterworths. * Concurrency: Practice and Experience, Wiley. * Distributed Computing, Springer-Verlag. * Journal of Systems and Software, Elsevier. Call for PapersReviewer Information * Parallel News, Daresbury Laboratory. * The Computer Journal — Engineering Complex Systems * Transputer Communications, Wiley. ---- Last updated by Jonathan Bowen, 16 March 2009. Further information for possible inclusion is welcome. Category:Virtual Library